package com.xmtlxx.wms.domain.bo;

import com.xmtlxx.common.core.domain.BaseEntity;
import com.xmtlxx.common.core.validate.AddGroup;
import com.xmtlxx.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;

/**
 * 库区业务对象 t_store_area
 *
 * @author xmtlxx
 * @date 2022-08-15
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("库区业务对象")
public class StoreAreaBo extends BaseEntity {

    /**
     * 库区ID
     */
    @ApiModelProperty(value = "库区ID")
    private String id;

    /**
     * 库区编号
     */
    @ApiModelProperty(value = "库区编号", required = true)
    @NotBlank(message = "库区编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ano;

    /**
     * 所属仓库
     */
    @ApiModelProperty(value = "所属仓库", required = true)
    @NotBlank(message = "所属仓库不能为空", groups = { AddGroup.class, EditGroup.class })
    private String storeId;

    /**
     * 库区名称
     */
    @ApiModelProperty(value = "库区名称", required = true)
    @NotBlank(message = "库区名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String name;

    /**
     * 库区级别
     */
    @ApiModelProperty(value = "库区级别", required = true)
    @NotBlank(message = "库区级别不能为空", groups = { AddGroup.class, EditGroup.class })
    private String levels;

    /**
     * 库区类型
     */
    @ApiModelProperty(value = "库区类型", required = true)
    @NotBlank(message = "库区类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String type;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private String status;

    /**
     * 删除标识
     */
    @ApiModelProperty(value = "删除标识")
    private String delFlag;


    @ApiModelProperty("上级库区")
    private String parentId;
    /**
     * 祖级列表
     */
    @ApiModelProperty("祖级列表")
    private String ancestors;

}
